package review;

public class SortTestHelper {
	/*生成随机数组，数组长度为n，值的范围是[l,r]
	 * 返回值Integer类型的数组，因为sort的形参是Comparable[]类型的
	 */
	public static Integer[] generateRandomArray(int n,int l,int r){
		Integer[] arr=new Integer[n];
		for(int i=0;i<n;i++){
			arr[i]=(int)(Math.random()*(r-l+1))+l;
		}
		return arr;
	}
	/*返回一个近乎有序的数组。传入参数：数组长度、无序程度。swaptimes越大，无序程度越高。
	 */
	public static Integer[] generateNearlyOrderedArray(int n,int swaptimes){
		Integer[] arr=new Integer[n];
		for(int i=0;i<n;i++){
			arr[i]=i;
		}
		for(int i=0;i<swaptimes;i++){
			int x=(int)(Math.random()*n);
			int y=(int)(Math.random()*n);
			swap(arr,x,y);
		}
		return arr;
	}
	public static void swap(Object[] arr,int l,int r){
		Object tmp=arr[l];
		arr[l]=arr[r];
		arr[r]=tmp;
	}
	
	
	
}
